import datetime

import xlrd
import xlwt
import datetime
def isVaildDate(date):

    try:
        d_date = datetime.datetime.strptime("3月25日", '%m月%d日')
        d_date2 = datetime.datetime.strptime("4月15日", '%m月%d日')
        targetDate = datetime.datetime.strptime(date, '%m月%d日')
        # print(d_date)
        # print(d_date2)
        # print(targetDate)
        if targetDate < d_date or targetDate > d_date2:
            return False
        return True
    except:
        return False
def readExcel():
    print("helloExcel")
    keyStr=input("请输入要提取体温的人员名称")
    table=xlrd.open_workbook(r'C:\Users\HesionHonor\Desktop\2.xls')
    sheetCount = table.nsheets
    resultFileName ="C:/Users/HesionHonor/Desktop/"+keyStr+".xls"
    print("resultFileName:",resultFileName)
    ##创建表格文件对象
    wbk = xlwt.Workbook()
    ##创建工作表
    resultSheet = wbk.add_sheet(keyStr + "的体温表", cell_overwrite_ok=True)
    ##几个标题行
    resultSheet.write(0, 0, "日期");
    resultSheet.write(0, 1, "上午10：00体温");
    resultSheet.write(0, 2, "下午15:00体温");
    resultSheet.write(0, 3, "现居地");
    ##标题行宽度
    resultSheet.col(0).width=256*15
    resultSheet.col(1).width=256*15
    resultSheet.col(2).width=256*15
    resultSheet.col(3).width=8888
    ###遍历表格工作表
    ##printLineNum用于记录待录入的行数
    printLineNum = 0
    for tableNum  in range(sheetCount):
        sheetName=table.sheet_names()[tableNum];
        ##获取工作表具体内容
        sheet = table.sheet_by_name(sheetName);

        ##判断当前日期是否是3月25至4月15
        if isVaildDate(sheetName):
            printLineNum+=1
            ##获取工作表名
            # print(sheet.row_values(1))
            ##获取行数
            rowCount=sheet.nrows
            ##一行行遍历查找关键字
            for element in range(rowCount):
                if keyStr.lower() in (str(sheet.row_values(element))).lower():
                    searchValue = sheet.row_values(element)
                    ##当日下午15点的体温记录在后一天中，因此需要访问后一天
                    searchValue2 = sheet.row_values(element+1)
                    ##找到某一日的体温。存入表格文件中
                    resultSheet.write(printLineNum, 0, sheetName);
                    resultSheet.write(printLineNum, 1, str(searchValue2[10])+"℃");
                    resultSheet.write(printLineNum, 2, str(searchValue[11])+"℃");
                    resultSheet.write(printLineNum, 3, str(searchValue[8]));
                    wbk.save(resultFileName)
        else:
            # print("日期范围不满足")
            continue
if __name__ == '__main__':
    print("hello")
    readExcel()
    # isTrue= isVaildDate("3月25日")
    # print(isTrue)